笔记是学习整理的,适合基线扫描
参考,常见运维安全Demo
。
整理了一份,希望对小伙伴有帮助.生活加油,天天开心!
博文主要围绕以几个方面:
Linux基本防护
:账户安全
、文件系统安全
、关闭不需要的服务
用户切换
与提权su
和sudo
,
sshd访问控制
加密与解密/对称加密
、非对称加密
、md5息摘要
AIDE入侵检测
端口扫描
写在前面
笔记是学习整理的,适合基线扫描
参考,常见运维安全Demo
。
整理了一份,希望对小伙伴有帮助.生活加油,天天开心!
博文主要围绕以几个方面:
Linux基本防护
:账户安全
、文件系统安全
、关闭不需要的服务
用户切换
与提权su
和sudo
,
sshd访问控制
加密与解密/对称加密
、非对称加密
、md5息摘要
AIDE入侵检测
端口扫描
一、Linux基本防护
一、Linux基本防护
账户安全:设置账户有效期,锁定与解锁账户密码,修
改登陆信息
文件系统安全:修改
文件 ATTR属性,设置mount挂载
关闭不需要的服务
设置账号有效期
使用chage工具
-d 0
, 强制修改密码
-E yyyy-mm-dd
,指定失效日期(-1 取消)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [root@liruilong ~]$ useradd dachui [root@liruilong ~]$ chage -l dachui 最近一次密码修改时间 :8月 18, 2020 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7 [root@liruilong ~]$ chage -E 2029-10-01 dachui [root@liruilong ~]$ chage -l dachui 最近一次密码修改时间 :8月 18, 2020 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :10月 01, 2029 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7 [root@liruilong ~]$ chage -E -1 dachui [root@liruilong ~]$ chage -l dachui 最近一次密码修改时间 :8月 18, 2020 密码过期时间 :从不 密码失效时间 :从不 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :0 两次改变密码之间相距的最大天数 :99999 在密码过期之前警告的天数 :7
设置强制要求用户修改密码 -d 0
案例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 [root@liruilong ~]$ echo 123456 | passwd --stdin dachui 更改用户 dachui 的密码 。 passwd:所有的身份验证令牌已经成功更新。 [root@liruilong ~]$ ssh dachui@127.0.0.1 ...... dachui@127.0.0.1 s password: [dachui@liruilong ~]$ [root@liruilong ~]$ chage -d 0 dachui [root@liruilong ~]$ ssh dachui@127.0.0.1 dachui@127.0.0.1s password: You are required to change your password immediately (root enforced) Last failed login: Tue Aug 18 08:38:45 CST 2020 from localhost on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Tue Aug 18 08:33:19 2020 from localhost WARNING: Your password has expired. You must change your password now and login again! Changing password for user dachui. Changing password for dachui. (current) UNIX password: New password: BAD PASSWORD: The password is too similar to the old one New password: BAD PASSWORD: The password is shorter than 8 characters New password: Retype new password: passwd: all authentication tokens updated successfully. Connection to 127.0.0.1 closed. [root@liruilong ~]$ ssh dachui@127.0.0.1 dachui@127.0.0.1s password: Last login: Tue Aug 18 08:38:49 2020 from localhost [dachui@liruilong ~]$
账号的锁定/解锁 使用passwd命令: -l 锁定、-u 解锁、-S 看状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [root@liruilong ~]$ passwd -S dachui dachui PS 2020-08-18 0 99999 7 -1 (密码已设置,使用 SHA512 算法。) [root@liruilong ~]$ passwd -l dachui 锁定用户 dachui 的密码 。 passwd: 操作成功 [root@liruilong ~]$ passwd -S dachui dachui LK 2020-08-18 0 99999 7 -1 (密码已被锁定。) [root@liruilong ~]$ ssh dachui@127.0.0.1 dachui@127.0.0.1's password: #密码为: tarena123 Permission denied, please try again. dachui@127.0.0.1' s password:[root@liruilong ~]$ passwd -u dachui 解锁用户 dachui 的密码。 passwd: 操作成功 [root@liruilong ~]$ ssh dachui@127.0.0.1 dachui@127.0.0.1s password: Last failed login: Tue Aug 18 08:55:30 CST 2020 from localhost on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Tue Aug 18 08:46:50 2020 from localhost [dachui@liruilong ~]$ Connection to 127.0.0.1 closed. [root@liruilong ~]$ passwd -S dachui dachui PS 2020-08-18 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
强制定期修改密码
配置文件 /etc/login.defs
主要控制属性
主要控制属性
PASS_MAX_DAYS
—》 用户密码的最长有效期
PASS_MIN_DAYS
—》 用户密码的最短有效期
PASS_WARN_AGE
—》 用户密码过期的前几天会发送警告信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@liruilong ~]$ vim /etc/login.defs ...... 25 PASS_MAX_DAYS 60 26 PASS_MIN_DAYS 0 27 PASS_MIN_LEN 5 28 PASS_WARN_AGE 7 ...... [root@liruilong ~]$ cat /etc/shadow | head -3 root:$6$l2XJYza /aL1Ug4Ta$4kBxc4ED .pyWbBR5Yg3XVX/3lT3S0Efuh4eNxC83AdIlYDeEzcafsbV 8YkVo88T0W/vVDTxpYtiFceiUM9qQk0::0:99999:7::: bin:*:17632:0:99999:7::: daemon:*:17632:0:99999:7:::
伪装登录提示
伪装登录提示
配置文件 /etc/issue、/etc/issue.net
分别使用于本地、远程登录
默认会提示内核、系统等版本信息
这个 centos7
可能有点问题,可以写到 .bashrc 文件里:.bashrc文件通常也是通过某个bash启动文件来运行的。因为.bashrc文件会运行两次:一次是 当你登入bash shell时,另一次是当你启动一个bash shell时。如果你需要一个脚本在两个时刻都得 以运行,可以把这个脚本放进该文件中。
1 2 3 4 5 6 7 [root@liruilong ~]$ vim /etc/issue Welcome to Tedu [root@liruilong ~]$ vim /etc/issue.net Welcome to Ted
文件系统安全 锁定/解锁保护文件
文件属性控制 :chattr、lsattr
、- 控制方式
属性i
:不可变 (immutable)
属性a
: 仅可追加(append only)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 [root@liruilong ~]$ vim test.sh hello the world ni hao. [root@liruilong ~]$ lsattr test.sh ---------------- test.sh [root@liruilong ~]$ chattr +i test.sh [root@liruilong ~]$ lsattr test.sh ----i----------- test.sh [root@liruilong ~]$ echo 123 > test.sh -bash: test.sh: 权限不够 [root@liruilong ~]$ rm -rf test.sh rm: 无法删除"test.sh" : 不允许的操作 [root@liruilong ~]$ chattr -i test.sh [root@liruilong ~]$ lsattr test.sh ---------------- test.sh [root@liruilong ~]$ chattr +a test.sh [root@liruilong ~]$ lsattr test.sh -----a---------- test.sh [root@liruilong ~]$ echo 123 >> test.sh [root@liruilong ~]$ echo 123 > test.sh -bash: test.sh: 不允许的操作 [root@liruilong ~]$ rm -rf test.sh rm: 无法删除"test.sh" : 不允许的操作 [root@liruilong ~]$ chattr -a test.sh [root@liruilong ~]$ lsattr test.sh ---------------- test.sh
文件系统挂载熟悉 mount 挂载属性
noexec: 不可执行程序
noatime: 不更新文件的访问时间
noexec :挂载设备时,添加此选项,则此设备中的所有程序均不可被执行(例如:病毒或木马) noatime :计算机中的文件都有访问时间(atime),修改时间(mtime); 挂载设备时,添加此选项,则所有文件的访问时间都不再被更新; 如果计算机中的a文件被用户访问,则a文件的atime就会被修改,对于web服务器而言,会有成千上万的 用户访问网页,则这个网页的atime就会被频繁修改,会消耗大量的CPU资源,需要在挂载的时候使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [root@liruilong ~]$ vim /etc/fstab UUID=c120742d-5bdf-48c3-b830-3bfb3e796009 /boot xfs defaults,noexec,noatime 0 0 [root@liruilong ~]$ mount -o remount /boot/ [root@liruilong ~]$ mount ...... /dev/sda1 on /boot type xfs (rw,noexec,noatime,attr2,inode64,noquota) ...... [root@liruilong ~]$ vim /boot/test.sh while :do echo adone [root@liruilong ~]$ cd /boot [root@liruilong boot]$ chmod +x test.sh [root@liruilong boot]$ ./test.sh -bash: ./test.sh: 权限不够
程序和服务控制
禁用非必要的系统服务 : 使用systemctl、chkconfig (centos6使用) 工具
可选服务列表 (选择进行关闭)
可选服务列表
cups
.service 打印服务
postfix
.service 邮件服务
NetworkManager
.service 网络管理服务(network可以替代)
firewalld
防火墙 (iptables可以替代)
atd
.service 一次性计划任务(crond可以替代)
bluetooth
.service 蓝牙服务
autofs
.service 自动挂载
pcscd
.service 智能卡设备资源管理器
1 2 3 [root@liruilong ~]$ systemctl stop firewalld [root@liruilong ~]$ systemctl disable firewalld
二、用户切换与提权 su切换用户身份 切换与提权的应用场景
切换用户身份,When?:
SSH远程管理/运维测试
提升执行权限,when?:
管理权限细分
su切换的基本用法:Substitube User,换人
快速切换为指定的其他用户
普通用户执行时,需验证目标用户的口令
root执行时,无需验证口令
命令格式
用法1:su [-] [目标用户]
用法2:su [-] -c “命令” [目标用户]
su操作示例 从普通用户切换为root,并登录新Shell环境,执行 su -,或者su - root,不指名目标用户时,默认视为root
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@liruilong ~]$ useradd jerry [root@liruilong ~]$ echo 123456 | passwd --stdin jerry 更改用户 jerry 的密码 。 passwd:所有的身份验证令牌已经成功更新。 [root@liruilong ~]$ su - jerry [jerry@liruilong ~]$ whoami jerry [jerry@liruilong ~]$ cat /etc/shadow cat: /etc/shadow: Permission denied [jerry@liruilong ~]$ ls /root/ ls: cannot open directory /root/: Permission denied [jerry@liruilong ~]$ exit logout
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@liruilong ~]$ useradd tom [root@liruilong ~]$ echo 123456 | passwd --stdin tom 更改用户 tom 的密码 。 passwd:所有的身份验证令牌已经成功更新。 [root@liruilong ~]$ su - jerry 上一次登录:二 8月 18 10:21:41 CST 2020pts/0 上 [jerry@liruilong ~]$ su - tom Password: [tom@liruilong ~]$ exit logout [jerry@liruilong ~]$ exit logout
1 2 3 4 5 6 7 8 9 10 [root@liruilong ~]$ su - jerry 上一次登录:二 8月 18 10:23:02 CST 2020pts/0 上 [jerry@liruilong ~]$ su - Password: Last login: Tue Aug 18 10:23:53 CST 2020 on pts/0 [root@liruilong ~]$ exit [jerry@liruilong ~]$ exit
root以指定的普通用户身份执行任务:以用户tom的身份创建目录,以用户tom的身份执行管理员操作会出错
1 2 3 4 5 6 7 8 9 [root@liruilong ~]$ su - jerry -c "touch /tmp/test.txt" [root@liruilong ~]$ ll /tmp/test.txt -rw-rw-r-- 1 jerry jerry 0 8月 18 10:25 /tmp/test.txt [root@liruilong ~]$ su - tom -c "systemctl restart sshd" Error creating textual authentication agent: ......
分析su切换的使用情况:安全日志 /var/log/secure,记录su验证、Shell开启与关闭
1 2 3 4 5 6 7 8 9 [root@liruilong ~]$ tail -4 /var/log /secure Aug 18 10:25:03 localhost su: pam_unix(su-l:session): session opened for user jerry by root(uid=0) Aug 18 10:25:03 localhost su: pam_unix(su-l:session): session closed for user jerry Aug 18 10:40:50 localhost su: pam_unix(su-l:session): session opened for user tom by root(uid=0) Aug 18 10:40:51 localhost su: pam_unix(su-l:session): session closed for user tom
sudo 提升执行权限 sudo提权的基本用法
Super or another Do,超级执行:管理员预先为用户设置执行许可,被授权用户有权执行授权的命令,验证自己的口令
执行提权命令: 用法: sudo 提权命令
查看提权命令: 用法:sudo -l
配置sudo提权 修改方法
推荐:visudo
其他:vim /etc/sudoers ---> wq!(强制保存并退出)
授权记录格式`
用户或组
#指定给特定用户授权或者组(多个用户属于一个组) #指定给组授权时,组的前面必须加 %,例如:%wheel
主机列表
#允许哪些客户机可以通过这个用户登录本机去执行命令,例如:ALL(指所有客户机)提权身份
#给第一列的用户赋予权限,例如:(root)
[NOPASSWD]
:命令列表 #前半部分是不需要密码执行命令;后半部分是要执行的命令,且;命令要写绝 对路径
%wheel ALL=(root) ALL
#给wheel组中的所有用户,赋予root的权限,让其可以在任何主机上以root的身份去执行任何命令
允许mike以root权限执行 /sbin/ 下的所有命令,但是,禁止修改eth0网卡的参数
1 2 /sbin/* !/sbin/ifconfg etho
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [root@liruilong ~]$ id jerry uid=1002(jerry) gid=1002(jerry) 组=1002(jerry) [jerry@liruilong ~]$ which systemctl /bin/systemctl [root@liruilong ~]$ visudo ...... jerry ALL=(ALL) /usr/bin/systemctl [root@liruilong ~]$ su - jerry 上一次登录:二 8月 18 10:50:16 CST 2020pts/0 上 [jerry@liruilong ~]$ sudo systemctl restart sshd [sudo] password for jerry: Sorry, try again. [jerry@liruilong ~]$ sudo -l ...... User jerry may run the following commands on liruilong: (ALL) /usr/bin/systemctl
wheel组的用户无需验证可执行所有命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 [root@liruilong ~]$ which parted /usr/sbin/parted [root@liruilong ~]$ visudo ...... jerry ALL=(ALL) /usr/bin/systemctl tom ALL=(ALL) NOPASSWD:/usr/sbin/parted [root@liruilong ~]$ su - tom 上一次登录:二 8月 18 10:40:50 CST 2020pts/0 上 [tom@liruilong ~]$ sudo parted /dev/sda print Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 21.5GB 20.4GB primary lvm [tom@liruilong ~]$ exit
分析sudo提权的使用情况: 修改全局配置,启动日志Defaults logfile="/var/log/sudo"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 [root@liruilong ~]$ visudo ...... jerry ALL=(ALL) /usr/bin/systemctl tom ALL=(ALL) NOPASSWD:/usr/sbin/parted Defaults logfile="/var/log/sudo" [root@liruilong ~]$ su - tom 上一次登录:二 8月 18 10:56:52 CST 2020pts/0 上 [tom@liruilong ~]$ sudo parted /dev/sda print Model: VMware, VMware Virtual S (scsi) Disk /dev/sda: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 1075MB 1074MB primary xfs boot 2 1075MB 21.5GB 20.4GB primary lvm [tom@liruilong ~]$ exit [root@liruilong ~]$ cat /var/log /sudo Aug 18 13:02:12 : jerry : TTY=pts/0 ; PWD=/home/jerry ; USER=root ; COMMAND=/bin/systemctl restart sshd Aug 18 13:18:34 : tom : TTY=pts/0 ; PWD=/home/tom ; USER=root ; COMMAND=/sbin/parted /dev/sda print
三、sshd访问控制 SSH基本防护 SSH防护概述
存在的安全隐患
常见的防护措施
用户限制、黑白名单
更改验证方式(密码 –> 密钥对)
防火墙….
sshd基本安全配置 配置文件 /etc/ssh/sshd_config
Port 3389 //改用非标准端口
ListenAddress 192.168.168.174
PermitrootLogin //禁止root登录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@liruilong ~]$ cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak [root@liruilong ~]$ vim /etc/ssh/sshd_config 17 Port 3389 [root@liruilong ~]$ systemctl restart sshd [c:\~]$ ssh root@192.168.2.100 3389 [root@liruilong ~]$ vim /etc/ssh/sshd_config 20 ListenAddress 192.168.2.100 [root@liruilong ~]$ systemctl restart sshd [c:\~]$ ssh root@192.168.2.100 3389
1 2 3 4 5 6 7 8 9 10 11 12 [root@liruilong ~]$ vim /etc/ssh/sshd_config 38 PermitRootLogin no [root@liruilong ~]$ systemctl restart sshd [c:\~]$ ssh jerry@192.168.2.100 3389 [tom@liruilong ~]$ [tom@liruilong ~]$ su - root 密码: [root@liruilong ~]$
配置文件 /etc/ssh/sshd_config
UseDNS no
//不解析客户机地址
LoginGraceTime 1m
//登录限时
MaxAuthTries 3
//每连接最多认证次数
UseDNS no #不对客户机进行域名解析,访问网站的普通用户是没有域名的,不需要解析
LoginGraceTime 1m #用户在ssh远程服务器时,如果1分钟内用户没有输入用户名和密码,则断开连接
1 2 3 4 5 6 7 8 9 10 [root@liruilong ~]$ vim /etc/ssh/sshd_config 37 LoginGraceTime 10s 115 UseDNS no [root@liruilong ~]$ systemctl restart sshd [c:\~]$ ssh jerry@192.168.2.100 3389 Connection closing...Socket close.
MaxAuthTries 3 : #用户远程服务器时,密码错误,可以尝试多少次
1 2 3 4 5 6 7 8 9 10 11 [root@liruilong ~]$ vim /etc/ssh/sshd_config 40 MaxAuthTries 3 [root@liruilong ~]$ systemctl restart sshd [c:\~]$ ssh jerry@192.168.2.100 3389 Connection closing...Socket close.
ssh经常一段时间就断掉解决办法去掉注释,改成
1 2 3 4 vim /etc/ssh/sshd_config ClientAliveInterval 30 ClientAliveCountMax 86400
这两行的意思分别是
、客户端每隔多少秒向服务发送一个心跳数据
、客户端多少秒没有相应,服务器自动断掉连接
重启sshd服务
sshd黑/白名单配 配置文件 /etc/ssh/sshd_config
DenyUsers USER1 USER2 …
AllowUsers USER1@HOST USER2 …
DenyGroups GROUP1 GROUP2 …
AllowGroups GROUP1 GROUP2 …
1 2 3 4 5 6 DenyUsers AllowUsers DenyGroups AllowGroups AllowUsers USER1@HOST
应用示例:仅允许一部分用户(从指定地点)登入,其他任何用户均禁止登入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 [c:\~]$ ssh jerry@192.168.2.100 3389 [jerry@liruilong ~]$ su - root [jerry@liruilong ~]$ [root@liruilong ~]$ vim /etc/ssh/sshd_config 42 AllowUsers tom [root@liruilong ~]$ systemctl restart sshd [c:\~]$ ssh jerry@192.168.2.100 3389 [c:\~]$ ssh tom@192.168.2.100 3389 [tom@liruilong ~]$ ```bash [root@liruilong ~]$ vim /etc/ssh/sshd_config 42 DenyUsers tom [root@liruilong ~]$ systemctl restart sshd [c:\~]$ ssh tom@192.168.2.100 3389 [c:\~]$ ssh jerry@192.168.2.100 3389 [tom@liruilong ~]$
1 2 3 4 5 6 [root@svr7 ~]$ vim /etc/ssh/sshd_config 42 DenyUsers tom@192.168.2.1 [root@svr7 ~]$ systemctl restart sshd
SSH密钥对验证 sshd验证方式控制
口令验证 ::检查登录用户的口令是否一致:密码验证:#当windows被攻击,系统被植入木马,容易被攻击者从键盘记录等方式中获取密码
密钥验证 :检查客户端私钥与服务器上的公钥是否匹配:密钥验证:#密钥验证的安全度很高;#不会有输入密码的过程,键盘工具方式无效;
PasswordAuthentication yes #ssh支持密码验证1 2 47 AuthorizedKeysFile .ssh/authorized_keys 下的.ssh目录中的authorized_keys文件中
密钥对验证的实现思路
第一步:客户机创建密钥对,私钥文件:id_rsa 公钥文件: id_rsa.pub;
第二步: 客户机上传公钥到服务器上用户的家目录下 ./ssh/authorized_keys文件; ssh-copy-id 命令,会自动将公钥放到指定用户家目录的对应文件中
创建SSH密钥对
:使用工具 ssh-keygen
可以手动指定加密算法(-t rsa 或 -t dsa)
若不指定,默认采用RSA加密
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 [root@svr7 ~]$ ssh-keygen -N '' -f /root/.ssh/id_rsa Generating public/private rsa key pair. Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:+pb7aZI5xtlulc1Z3MQjjsNGLu5mbCHxU5JfPtWOe+w root@svr7 The keys randomart image is: +---[RSA 2048]----+ | . | | . . .o| | = o .o+| | . + B o .=| | S * ++.= | | o = .oo= .| | ..+*o. .o | | .@*+. . o| | o*O+ oE| +----[SHA256]-----+ [root@svr7 ~]$ ls /root/.ssh/ id_rsa id_rsa.pub known_hosts
部署SSH公钥
1 2 3 4 5 [root@svr7 ~]$ ssh-copy-id root@192.168.2.200 [root@client ~]$ ls /root/.ssh/ authorized_keys
四、加密与解密 加解密概述 加密目的及方式
确保数据的机密性对称加密:
加密/解密用同一个密钥
非对称加密:加密/解密用不同的密钥(公钥、私钥)
保护信息的完整性(常用于做数据完整性校验)
信息摘要:基于输入的信息生成长度较短、位数固定的散列值
常见的加密算法
对称加密
DES,Data Encryption Standard
AES,Advanced Encryption Standard
非对称加密
RSA,Rivest Shamirh Adleman
DSA,Digital Signature Algorithm
Hash散列技术,用于信息摘要
MD5, Message Digest Algorithm 5 : 根据输入的文本(长度不限) ,生成固定长度(比如128位)的摘要文本
SHA, Secure Hash Algorithm1 : 只要输入的文本不同,则生成的摘要文本也不一样
MD5完整性检验
GPG加解密厂具 GnuPG简介 **GnuPG **,GNU Privacy Guard : http://www.gnupg.org/ 最流行的数据加密、数字签名工具软件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [root@node1 ~]$ gpg --version gpg (GnuPG) 2.0.22 libgcrypt 1.5.3 Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Home: ~/.gnupg 支持的算法: 公钥:RSA, ?, ?, ELG, DSA 对称加密:IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256 散列:MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224 压缩:不压缩, ZIP, ZLIB, BZIP2
GPG对称加解密 基本用法
加密操作 :--symmetric 或 -c
解密操作 :--decrypt 或 -d
1 2 3 4 [root@node1 ~]$ echo "hello the world" > test.txt [root@node1 ~]$ gpg -c test.txt
1 2 3 4 5 [root@node1 ~]$ ls -l test.txt.gpg -rw-r--r-- 1 root root 63 8月 20 09:58 test.txt.gpg [root@node1 ~]$ rm -rf test.txt
1 2 3 4 5 6 7 8 9 10 11 [root@node1 ~]$ gpg -d test.txt.gpg > /opt/test02.txt gpg: CAST5 加密过的数据 gpg: 以 1 个密码加密 hello the world gpg: 警告:报文未受到完整的保护 [root@node1 ~]$ cat /opt/test02.txt hello the world
1 2 3 4 5 6 7 8 9 10 11 12 13 [root@node1 ~]$ scp test.txt.gpg root@192.168.2.200:/root/ [root@node2 ~]$ ls -l test.txt.gpg -rw-r--r-- 1 root root 63 8月 20 10:16 test.txt.gpg [root@node2 ~]$ gpg -d test.txt.gpg > /root/test.txt [root@node2 ~]$ ls -l test.txt -rw-r--r-- 1 root root 16 8月 20 10:17 test.txt [root@node2 ~]$ cat test.txt hello the world
GPG非对称加解密
基本过程
前期准备工作
UserB 创建密钥对:--gen-key
UserB 导出公钥:--export、--armor 或 -a
UserA 导入公钥:--import
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 [root@node1 ~]$ gpg --gen-key gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 请选择您要使用的密钥种类: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (仅用于签名) (4) RSA (仅用于签名) 您的选择? RSA 密钥长度应在 1024 位与 4096 位之间。 您想要用多大的密钥尺寸?(2048) 您所要求的密钥尺寸是 2048 位 请设定这把密钥的有效期限。 0 = 密钥永不过期 <n> = 密钥在 n 天后过期 <n>w = 密钥在 n 周后过期 <n>m = 密钥在 n 月后过期 <n>y = 密钥在 n 年后过期 密钥的有效期限是?(0) 密钥永远不会过期 以上正确吗?(y/n)y You need a user ID to identify your key; the software constructs the user ID from the Real Name, Comment and Email Address in this form: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" 真实姓名:userb 电子邮件地址:userb@tedu.cn 注释:test key 您选定了这个用户标识: “userb (test key) <userb@tedu.cn>” 更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)? 数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 命令,修改随机数生成器 [root@node1 ~]$ mv /dev/random /dev/random.bak [root@node1 ~]$ ln -s /dev/urandom /dev/random [root@node1 ~]$ gpg --gen-key [root@node1 ~]$ gpg --list-keys /root/.gnupg/pubring.gpg ------------------------ pub 2048R/8B8D56D4 2020-08-20 uid userb (test key) <userb@tedu.cn> sub 2048R/90116CE3 2020-08-20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [root@node1 ~]$ gpg -a --export userb > /tmp/userb.pub [root@node1 ~]$ gpg -a --export userb@tedu.cn > /tmp/userb02.pub [root@node1 ~]$ cat /tmp/userb.pub -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.22 (GNU/Linux) mQENBF895QwBCACwfDPG4vzoazhIGnLIghIN49ByACQG1YB2cHvoqITQ06KDve0p EHDayr2mcGGwZbv96tp3HDIoS70QpbMdiqri5zD3Jnms2C37pfRmPDjUJ6eQQQJJ ...... [root@node1 ~]$ cat /tmp/userb02.pub -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.22 (GNU/Linux) mQENBF895QwBCACwfDPG4vzoazhIGnLIghIN49ByACQG1YB2cHvoqITQ06KDve0p EHDayr2mcGGwZbv96tp3HDIoS70QpbMdiqri5zD3Jnms2C37pfRmPDjUJ6eQQQJJ ......
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [root@node1 ~]$ scp /tmp/userb.pub 192.168.2.200:/tmp/ [root@node2 ~]$ gpg --list-keys gpg: /root/.gnupg/trustdb.gpg:建立了信任度数据库 [root@node2 ~]$ gpg --import /tmp/userb.pub gpg: 密钥 8B8D56D4:公钥“userb (test key) <userb@tedu.cn>”已导入 gpg: 合计被处理的数量:1 gpg: 已导入:1 (RSA: 1) [root@node2 ~]$ gpg --list-keys /root/.gnupg/pubring.gpg ------------------------ pub 2048R/8B8D56D4 2020-08-20 uid userb (test key) <userb@tedu.cn> sub 2048R/90116CE3 2020-08-20
基本用法
加密操作: --encrypt 或 -e
指定目标用户: --recipient 或 -r
解密操作: --decrypt 或 -d
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [root@node2 ~]$ echo test > /root/clear.txt [root@node2 ~]$ gpg -e -r userb clear.txt gpg: 90116CE3:没有证据表明这把密钥真的属于它所声称的持有者 pub 2048R/90116CE3 2020-08-20 userb (test key) <userb@tedu.cn> 主钥指纹: 0644 7DE7 C2A8 EE21 F41F 939B C53B 6BCA 8B8D 56D4 子钥指纹: 80B5 C5AB 7AA9 287C F411 AD7C 0105 14A9 9011 6CE3 这把密钥并不一定属于用户标识声称的那个人。如果您真的知道自 己在做什么,您可以在下一个问题回答 yes。 无论如何还是使用这把密钥吗?(y/N)y [root@node2 ~]$ ls -l /root/clear.txt.gpg -rw-r--r-- 1 root root 346 8月 20 11:10 /root/clear.txt.gpg [root@client ~]$ scp /root/clear.txt.gpg root@192.168.2.100:/root/ [root@node1 ~]$ gpg -d -r userb clear.txt.gpg > clear.txt gpg: 由 2048 位的 RSA 密钥加密,钥匙号为 90116CE3、生成于 2020-08-20 “userb (test key) <userb@tedu.cn>” [root@node1 ~]$ cat clear.txt test
GPG软件签名与验证
软件签名与验证过程
软件官方以私钥对软件包执行数字签名
用户下载软件包、软件官方的公钥
以官方公钥验证软件包签名,确保数据来源正确
服务器使用私钥对发送出的所以数据文件进行签名;客户端可以使用公钥来对数据文件进行验证,查看其是否是有服务器发送的;如果是,则代表来源正确;如果不是,则数据文件不安全,删除
GPG软件签名与验证
命令
为软件包建立签名文件
分离式签名:--detach-sign 或 -b
验证软件包签名
验证签名:--verify
node1
1 2 3 4 5 6 7 [root@node1 ~]$ gpg -b clear.txt [root@node1 ~]$ ls -l clear.txt.sig -rw-r--r-- 1 root root 287 8月 20 11:29 clear.txt.sig [root@node1 ~]$ scp clear.txt clear.txt.sig root@192.168.2.200:/root/
node2
1 2 3 4 5 6 7 8 [root@node2 ~]$ gpg --verify clear.txt.sig clear.txt gpg: 于 2020年08月20日 星期四 11时29分15秒 CST 创建的签名,使用 RSA,钥匙号 8B8D56D4 gpg: 完好的签名,来自于“userb (test key) <userb@liruilong.cn>” gpg: 警告:这把密钥未经受信任的签名认证! gpg: 没有证据表明这个签名属于它所声称的持有者。 主钥指纹: 0644 7DE7 C2A8 EE21 F41F 939B C53B 6BCA 8B8D 56D4
五、AIDE入侵检测 初始化系统 安装软件包 AIDE(Advanced intrusion detection environment),该软件为一套入侵检测系统,配置yum源即可安装aide软件
1 [root@node1 ~]$ yum -y install aide
aide原理:
在没有被人篡改之前对我们的计算机做一个全面的检查;
记录每个文件的状态(包括数据的时间,大小,权限,哈希值等);
当计算机被入侵以后,aide对计算机做同样的校验,同样的检查;
最后,通过对比入侵之前检查的结果和入侵之后的检查结果,找到哪些数据发生了哪些变化
修改配置文件 **AIDE默认配置文件为/etc/aide.conf
**嗯,这个系统不一样会有出入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [root@node1 ~]$ vim /etc/aide.conf 1 2 3 @@define DBDIR /var/lib/aide 4 @@define LOGDIR /var/log /aide ...... 7 database=file:@@{DBDIR}/aide.db.gz ...... 12 database_out=file:@@{DBDIR}/aide.db.new.gz ...... 28 29 30 31 32 33 ...... 42 43 44 ...... 54 FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256 ...... 71 NORMAL = sha256
修改配置文件 校验的目录设置
1 2 3 4 5 6 7 8 9 10 11 12 [root@node1 ~]$ vim /etc/aide.conf ...... 99 /boot/ NORMAL 100 /bin/ NORMAL 101 /sbin/ NORMAL 102 /lib/ NORMAL 103 /lib64/ NORMAL 104 /opt/ NORMAL ...... 112 !/usr/src/ 113 !/usr/tmp/
第一步:批量注释掉所有的校验目录
步骤一: vim 打开文件/etc/aide.conf
步骤二: 末行模式下,光标移动到99行/boot/的首字母上【末行模式 :99】
步骤三: Ctrl + v 进入到可视化模式,按键盘的下键,拉到最后一行
步骤四: Shift + i 进入到插入模式,插入注释符号#;
步骤五: 按键盘左上角的Esc键,批量注释完成
第二步:插入一行校验目录
1 2 3 4 5 6 7 8 9 10 [root@node1 ~]$ vim /etc/aide.conf ...... 93 DATAONLY = p+n+u+g+s+acl+selinux+xattrs+sha256 ...... 98 /tmp/ DATAONLY 99 100 ......
初始化检查 在没有被攻击入侵前,根据配置文件,对数据进行校验操作
1 2 3 4 [root@node1 ~]$ aide --init AIDE, version 0.15.1
1 2 3 4 5 [root@node1 ~]$ ls /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.new.gz
备份数据库 在被入侵前,将校验的数据库文件备份到安全的地方 如,优盘、光盘、移动硬盘、网络存储
1 2 [root@node1 ~]$ mv /var/lib/aide/aide.db.new.gz /mnt/
入侵检查 执行入侵检查 将之前备份的校验数据库文件还原
1 2 3 [root@node1 ~]$ cp /mnt/aide.db.new.gz /var/lib/aide/aide.db.gz
根据数据库执行入侵检测
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [root@node1 ~]$ aide --check AIDE, version 0.15.1 [root@node1 ~]$ echo aide >> /tmp/test.txt [root@node1 ~]$ rm -rf /tmp/userb.pub [root@node1 ~]$ echo "xxx" > /tmp/x.txt [root@node1 ~]$ echo "ccc" > /tmp/c.txt [root@node1 ~]$ aide --check AIDE 0.15.1 found differences between database and filesystem!! Start timestamp: 2020-08-20 13:06:18 Summary: Total number of files: 17 Added files: 2 Removed files: 1 Changed files: 1 --------------------------------------------------- Added files: --------------------------------------------------- added: /tmp/c.txt added: /tmp/x.txt --------------------------------------------------- Removed files: --------------------------------------------------- removed: /tmp/userb.pub --------------------------------------------------- Changed files: --------------------------------------------------- changed: /tmp/test.txt --------------------------------------------------- Detailed information about changes: --------------------------------------------------- File: /tmp/test.txt Size : 0 , 5 SHA256 : 47DEQpj8HBSa+/TImW+5JCeuQeRkm5NM , OP7pCdRCH5j0ENIbJ9BV1SZScyCe+FEY
六,端口扫描 为什么需要扫描?
以获取一些公开/非公开信息为目的,检测潜在的风险,查找可攻击目标,收集设备/主机/系统/软件信息,发现可利用的安全漏洞
扫描方式及工具
典型的扫描方式
Scan
,主动探测(主动扫描百度或天猫的服务器)
Sniff
,被动监听/嗅探 (A机器给B机器发送数据包时,B可以进行监听数据包)
Capture
,数据包捕获(抓包)
数据包捕获 通过地址伪装,欺骗,把数据诱导到我们的主机上,对数据抓包;在交换机和路由器上也可以抓包;
常见的安全分析工具 扫描器
:NMAP ——> 主动去扫描其他的主机
协议分析
:tcpdump、WireShark ——> 网络上抓包,截取数据
NMAP扫描 NMAP一款强大的网络探测利器工具,支持多种探测技术
ping 扫描
多端口扫描
TCP/IP指纹检验 …..
基本用法 : nmap [扫描类型] [选项] <扫描目标 ...>
常用的扫描类型
-sS,TCP SYN扫描(半开)
-sT,TCP 连接扫描(全开)
-sU,UDP扫描
-sP,ICMP扫描
-A,目标系统全面分析
TCP SYN扫描(全开): #左边图:要检查目标主机的80端口是否打开,扫描时,A主机向目标主机的80端口发送请求建立连接的 请求syn,目标主机回应syn和ack,A主机也回应一个ack,连接建立,目标主机的80端口是打开的;
TCP SYN扫描(半开): #右边图:要检查目标主机的80端口是否打开,扫描时,A主机向目标主机的80端口发送请求建立连接的 请求syn,目标主机回应syn和ack, 目标主机回应了,代表目标主机的80端口是打开的,A主机不再回应 ack,节省一个ack回应的资源; #因为并不需要建立连接,只要目标主机回应即可,当扫描更多主机时会节省更多的系统资源;
NMAP应用示例 检查哪些主机开启FTP、SSH服务端 嗯,这个代码不对应该,这里扫描的的是53端口
1 2 3 4 5 6 7 8 9 10 [root@node1 ~]$ nmap -n -sU 192.168.2.200 -p 53 Starting Nmap 6.40 ( http://nmap.org ) at 2020-08-20 15:05 CST Nmap scan report for 192.168.2.200 Host is up (0.0012s latency). PORT STATE SERVICE 53/udp closed domain MAC Address: 00:0C:29:3D:40:D8 (VMware) Nmap done : 1 IP address (1 host up) scanned in 0.04 seconds
扫描查看UDP协议53-55的端口状态
1 2 3 4 5 6 7 8 9 10 11 12 [root@node1 ~]$ nmap -n -sU 192.168.2.200 -p 53-55 Starting Nmap 6.40 ( http://nmap.org ) at 2020-08-20 15:07 CST Nmap scan report for 192.168.2.200 Host is up (0.00053s latency). PORT STATE SERVICE 53/udp closed domain 54/udp closed xns-ch 55/udp closed isi-gl MAC Address: 00:0C:29:3D:40:D8 (VMware) Nmap done : 1 IP address (1 host up) scanned in 0.05 seconds
扫描查看TCP协议53-55和25的端口状态
1 2 3 4 5 6 7 8 9 10 11 12 13 14 [root@node1 ~]$ nmap -n 192.168.2.200 -p 53-55,25 Starting Nmap 6.40 ( http://nmap.org ) at 2020-08-20 15:10 CST Nmap scan report for 192.168.2.200 Host is up (0.00050s latency). PORT STATE SERVICE 25/udp closed smtp 53/udp closed domain 54/udp closed xns-ch 55/udp closed isi-gl MAC Address: 00:0C:29:3D:40:D8 (VMware) Nmap done : 1 IP address (1 host up) scanned in 0.05 seconds
扫描http端口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [root@node2 ~]$ yum -y install httpd [root@node2 ~]$ systemctl start httpd [root@node1 ~]$ nmap -n 192.168.2.200 -p 80 Starting Nmap 6.40 ( http://nmap.org ) at 2020-08-20 15:22 CST Nmap scan report for 192.168.2.200 Host is up (0.00034s latency). PORT STATE SERVICE 80/tcp open http MAC Address: 00:0C:29:3D:40:D8 (VMware) Nmap done : 1 IP address (1 host up) scanned in 0.06 seconds [root@node1 ~]$ nmap -n 192.168.2.0/24 -p 80 Starting Nmap 6.40 ( http://nmap.org ) at 2020-08-20 15:24 CST Nmap scan report for 192.168.2.200 Host is up (0.00030s latency). PORT STATE SERVICE 80/tcp open http MAC Address: 00:0C:29:3D:40:D8 (VMware) Nmap scan report for 192.168.2.254 Host is up (0.00030s latency). PORT STATE SERVICE 80/tcp closed http MAC Address: 00:50:56:C0:00:02 (VMware) Nmap scan report for 192.168.2.100 Host is up (0.000032s latency). PORT STATE SERVICE 80/tcp closed http Nmap done : 256 IP addresses (3 hosts up) scanned in 4.74 seconds
检查目标主机的存活状态(是否可ping通)
1 2 3 4 5 6 7 8 9 10 11 12 [root@node1 ~]$ nmap -n -sP 192.168.2.0/24 Starting Nmap 6.40 ( http://nmap.org ) at 2020-08-20 15:28 CST Nmap scan report for 192.168.2.200 Host is up (0.00011s latency). MAC Address: 00:0C:29:3D:40:D8 (VMware) Nmap scan report for 192.168.2.254 Host is up (0.00027s latency). MAC Address: 00:50:56:C0:00:02 (VMware) Nmap scan report for 192.168.2.100 Host is up. Nmap done : 256 IP addresses (3 hosts up) scanned in 5.69 seconds
复合扫描:检查操作系统指纹、软件版本等信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 [root@node1 ~]$ nmap -n -A 192.168.2.200 Starting Nmap 6.40 ( http://nmap.org ) at 2020-08-20 15:31 CST Nmap scan report for 192.168.2.200 Host is up (0.00079s latency). Not shown: 998 closed ports 22/tcp open ssh OpenSSH 7.4 (protocol 2.0) | ssh-hostkey: 2048 37:68:ae:d7:23:48:16:74:ed:c9:d8:de:44:8a:b5:50 (RSA) |_256 c7:14:c1:8f:1a:1b:64:e8:c1:06:56:74:ec:9a:50:29 (ECDSA) 80/tcp open http Apache httpd 2.4.6 ((CentOS)) | http-methods: Potentially risky methods: TRACE |_See http://nmap.org/nsedoc/scripts/http-methods.html |_http-title: Apache HTTP Server Test Page powered by CentOS MAC Address: 00:0C:29:3D:40:D8 (VMware) No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ). TCP/IP fingerprint: OS:SCAN(V=6.40%E=4%D=8/20%OT=22%CT=1%CU=43694%PV=Y%DS=1%DC=D%G=Y%M=000C29%T OS:M=5F3E26E1%P=x86_64-redhat-linux-gnu)SEQ(SP=102%GCD=1%ISR=10E%TI=Z%CI=I% OS:TS=A)SEQ(SP=102%GCD=1%ISR=10D%TI=Z%TS=A)SEQ(SP=102%GCD=1%ISR=10D%TI=Z%II OS:=I%TS=A)OPS(O1=M5B4ST11NW7%O2=M5B4ST11NW7%O3=M5B4NNT11NW7%O4=M5B4ST11NW7 OS:%O5=M5B4ST11NW7%O6=M5B4ST11)WIN(W1=7120%W2=7120%W3=7120%W4=7120%W5=7120% OS:W6=7120)ECN(R=Y%DF=Y%T=40%W=7210%O=M5B4NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S OS:=O%A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%R OS:D=0%Q=)T5(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W= OS:0%S=A%A=Z%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U OS:1(R=Y%DF=N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DF OS:I=N%T=40%CD=S) Network Distance: 1 hop TRACEROUTE HOP RTT ADDRESS 1 0.79 ms 192.168.2.200 OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ . Nmap done : 1 IP address (1 host up) scanned in 19.51 seconds
嗯,这是我扫描自己的win10的结果
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 ┌──(liruilong㉿Liruilong)-[/mnt/c/Users/lenovo] └─$ nmap -n -A 172.30.0.1 Starting Nmap 7.91 ( https://nmap.org ) at 2021-09-27 20:41 CST Stats: 0:00:50 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan Service scan Timing: About 80.00% done ; ETC: 20:42 (0:00:12 remaining) Nmap scan report for 172.30.0.1 Host is up (0.87s latency). Not shown: 990 closed ports PORT STATE SERVICE VERSION 135/tcp open msrpc Microsoft Windows RPC 139/tcp open netbios-ssn Microsoft Windows netbios-ssn 443/tcp open ssl/https VMware Workstation SOAP API 16.1.2 | fingerprint-strings: | FourOhFourRequest: | HTTP/1.1 404 Not Found | Date: Mon, 27 Sep 2021 12:41:49 GMT | Connection: close | Content-Security-Policy: block-all-mixed-content | Content-Type: text/plain; charset=utf-8 | Strict-Transport-Security: max-age=31536000 | X-Content-Type-Options: nosniff | X-Frame-Options: DENY | X-XSS-Protection: 1 | Content-Length: 0 | GetRequest: | HTTP/1.1 403 Forbidden | Date: Mon, 27 Sep 2021 12:41:49 GMT | Connection: close | Content-Security-Policy: block-all-mixed-content | Content-Type: text/plain; charset=utf-8 | Strict-Transport-Security: max-age=31536000 | X-Content-Type-Options: nosniff | X-Frame-Options: DENY | X-XSS-Protection: 1 | Content-Length: 0 | HTTPOptions: | HTTP/1.1 501 Not Implemented | Date: Mon, 27 Sep 2021 12:41:49 GMT | Connection: close | Content-Security-Policy: block-all-mixed-content | Content-Type: text/plain; charset=utf-8 | Strict-Transport-Security: max-age=31536000 | X-Content-Type-Options: nosniff | X-Frame-Options: DENY | X-XSS-Protection: 1 | Content-Length: 0 | RTSPRequest: | HTTP/1.1 400 Bad Request | Date: Mon, 27 Sep 2021 12:41:59 GMT | Connection: close | Content-Type: text/html | Content-Length: 50 | <HTML><BODY><H1>400 Bad Request</H1></BODY></HTML> | SIPOptions: | HTTP/1.1 400 Bad Request | Date: Mon, 27 Sep 2021 12:43:06 GMT | Connection: close | Content-Type: text/html | Content-Length: 50 |_ <HTML><BODY><H1>400 Bad Request</H1></BODY></HTML> |_http-title: Site doesn't have a title (text/plain; charset=utf-8). | ssl-cert: Subject: commonName=VMware/countryName=US | Not valid before: 2021-02-17T10:21:06 |_Not valid after: 2022-02-17T10:21:06 |_ssl-date: TLS randomness does not represent time | vmware-version: | Server version: VMware Workstation 16.1.2 | Build: 17966106 | Locale version: INTL | OS type: win32-x86 |_ Product Line ID: ws 445/tcp open microsoft-ds? 903/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP) 1027/tcp open msrpc Microsoft Windows RPC 1057/tcp open msrpc Microsoft Windows RPC 3306/tcp open mysql MySQL (unauthorized) 3389/tcp open ms-wbt-server Microsoft Terminal Services | rdp-ntlm-info: | Target_Name: LIRUILONG | NetBIOS_Domain_Name: LIRUILONG | NetBIOS_Computer_Name: LIRUILONG | DNS_Domain_Name: Liruilong | DNS_Computer_Name: Liruilong | Product_Version: 10.0.19041 |_ System_Time: 2021-09-27T12:43:57+00:00 | ssl-cert: Subject: commonName=Liruilong | Not valid before: 2021-09-07T13:31:59 |_Not valid after: 2022-03-09T13:31:59 |_ssl-date: 2021-09-27T12:44:02+00:00; 0s from scanner time. 4000/tcp open remoteanything? | fingerprint-strings: | GetRequest: | HTTP/1.1 200 OK | X-Powered-By: Hexo | Content-Type: text/html | Date: Mon, 27 Sep 2021 12:41:42 GMT | Connection: close | <!doctype html> | <html lang="zh"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"><meta><title> | </title><link rel="manifest" href="/manifest.json"><meta name="application-name" content=" | "><meta name="msapplication-TileImage" content="https://cdn.jsdelivr.net/gh/removeif/removeif-demo@latest/img/favicon.png"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content=" | "><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta property="og:type" content="blog"><meta property="og:title" content=" | "><meta property="og:url" content="https://removeif.github.io/"><meta property="og:site_name" cont | HTTPOptions: | HTTP/1.1 404 Not Found | X-Powered-By: Hexo | Content-Security-Policy: default-src ' none' | X-Content-Type-Options: nosniff | Content-Type: text/html; charset=utf-8 | Content-Length: 143 | Date: Mon, 27 Sep 2021 12:41:47 GMT | Connection: close | <!DOCTYPE html> | <html lang="en"> | <head> | <meta charset="utf-8"> | <title>Error</title> | </head> | <body> | <pre>Cannot OPTIONS /</pre> | </body> | </html> | NoMachine, RPCCheck, RTSPRequest: | HTTP/1.1 400 Bad Request |_ Connection: close 1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service : SF-Port4000-TCP:V=7.91%I=7%D=9/27%Time=6151BC06%P=x86_64-pc-linux-gnu%r(Ge SF:tRequest,3890,"HTTP/1\.1\x20200\x20OK\r\nX-Powered-By:\x20Hexo\r\nConte SF:nt-Type:\x20text/html\r\nDate:\x20Mon,\x2027\x20Sep\x202021\x2012:41:42 SF:\x20GMT\r\nConnection:\x20close\r\n\r\n<!doctype\x20html>\n<html\x20lan SF:g=\"zh\"><head><meta\x20charset=\"utf-8\"><meta\x20name=\"viewport\"\x2 SF:0content=\"width=device-width,\x20initial-scale=1,\x20maximum-scale=1\" SF:><meta><title>\xe5\xb1\xb1\xe6\xb2\xb3\xe5\xb7\xb2\xe6\x97\xa0\xe6\x81\ SF:x99</title><link\x20rel=\"manifest\"\x20href=\"/manifest\.json\"><meta\ SF:x20name=\"application-name\"\x20content=\"\xe5\xb1\xb1\xe6\xb2\xb3\xe5\ SF:xb7\xb2\xe6\x97\xa0\xe6\x81\x99\"><meta\x20name=\"msapplication-TileIma SF:ge\"\x20content=\"https://cdn\.jsdelivr\.net/gh/removeif/removeif-demo@ SF:latest/img/favicon\.png\"><meta\x20name=\"apple-mobile-web-app-capable\ SF:"\x20content=\"yes\"><meta\x20name=\"apple-mobile-web-app-title\"\x20co SF:ntent=\"\xe5\xb1\xb1\xe6\xb2\xb3\xe5\xb7\xb2\xe6\x97\xa0\xe6\x81\x99\"> SF:<meta\x20name=\"apple-mobile-web-app-status-bar-style\"\x20content=\"de SF:fault\"><meta\x20property=\"og:type\"\x20content=\"blog\"><meta\x20prop SF:erty=\"og:title\"\x20content=\"\xe5\xb1\xb1\xe6\xb2\xb3\xe5\xb7\xb2\xe6 SF:\x97\xa0\xe6\x81\x99\"><meta\x20property=\"og:url\"\x20content=\"https: SF://removeif\.github\.io/\"><meta\x20property=\"og:site_name\"\x20cont")% SF:r(NoMachine,2F,"HTTP/1\.1\x20400\x20Bad\x20Request\r\nConnection:\x20cl SF:ose\r\n\r\n")%r(HTTPOptions,180,"HTTP/1\.1\x20404\x20Not\x20Found\r\nX- SF:Powered-By:\x20Hexo\r\nContent-Security-Policy:\x20default-src\x20' noneSF:'\r\nX-Content-Type-Options:\x20nosniff\r\nContent-Type:\x20text/html;\ SF:x20charset=utf-8\r\nContent-Length:\x20143\r\nDate:\x20Mon,\x2027\x20Se SF:p\x202021\x2012:41:47\x20GMT\r\nConnection:\x20close\r\n\r\n<!DOCTYPE\x SF:20html>\n<html\x20lang=\"en\">\n<head>\n<meta\x20charset=\"utf-8\">\n<t SF:itle>Error</title>\n</head>\n<body>\n<pre>Cannot\x20OPTIONS\x20/</pre>\ SF:n</body>\n</html>\n")%r(RTSPRequest,2F,"HTTP/1\.1\x20400\x20Bad\x20Requ SF:est\r\nConnection:\x20close\r\n\r\n")%r(RPCCheck,2F,"HTTP/1\.1\x20400\x SF:20Bad\x20Request\r\nConnection:\x20close\r\n\r\n"); Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows, cpe:/o:vmware:Workstation:16.1.2 Host script results: |_nbstat: NetBIOS name: LIRUILONG, NetBIOS user: <unknown>, NetBIOS MAC: 00:15:5d:1d:9f:bd (Microsoft) | smb2-security-mode: | 2.02: |_ Message signing enabled but not required | smb2-time: | date: 2021-09-27T12:43:57 |_ start_date: N/A Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 148.10 seconds ┌──(liruilong㉿Liruilong)-[/mnt/c/Users/lenovo] └─$